package com.health.pojo.domain;

import lombok.Data;
import lombok.AllArgsConstructor;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.NoArgsConstructor;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import io.swagger.v3.oas.annotations.media.Schema;

/**
 * 用户信息
 *
 * @author WUYU_MIN
 * @date 2025-04-29 23:51:18
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@TableName("users")
public class UserDO {

    /**
     * 用户id:唯一用户标识
     */
    @TableId(type = IdType.AUTO)
    @Schema(description = "用户id:唯一用户标识")
    private Integer userId;

    /**
     * 邮箱:邮箱
     */
    @TableField("email")
    @Schema(description = "邮箱:邮箱")
    private String email;

    /**
     * 用户电话:电话
     */
    @TableField("phone")
    @Schema(description = "用户电话:电话")
    private String phone;

    /**
     * 密码:密码
     */
    @TableField("password")
    @Schema(description = "密码:密码")
    private String password;

    /**
     * 核心角色:核心角色
     */
    @TableField("core_role")
    @Schema(description = "核心角色:核心角色")
    private String coreRole;

    /**
     * 在线状态:在线状态
     */
    @TableField("online_status")
    @Schema(description = "在线状态:在线状态")
    private Integer onlineStatus;

    /**
     * 创建时间:注册时间
     */
    @TableField("created_at")
    @Schema(description = "创建时间:注册时间")
    private Date createdAt;

    /**
     * 更新时间:更新时间
     */
    @TableField("updated_at")
    @Schema(description = "更新时间:更新时间")
    private Date updatedAt;

    /**
     * 软删除时间:软删除时间
     */
    @TableField("deleted_time")
    @Schema(description = "软删除时间:软删除时间")
    private Date deletedTime;
}
